package zfbapprouter

import (
	"github.com/gin-gonic/gin"
	"yundian/internel/app/handlers/pcl/admin/placehandler"
	"yundian/internel/app/handlers/pcl/zmsc/webapp"
	"yundian/internel/app/handlers/pcl/zmsc/zmwxapplet"
	"yundian/internel/app/middlewares"
	"yundian/internel/pkg/dingo"
)

func InitAppRouter() dingo.ApiRouter {
	return func(g *gin.RouterGroup) {
		g.POST("device/draw-coupon", webapp.HandleDrawDeviceCoupon)       // 公众号领取设备优惠 抵用券
		g.POST("device/draw-discounts", webapp.HandleDrawDeviceDiscounts) // 公众号领取设备优惠 时长密码
		g.GET("device/scan-sign", webapp.HandelGetWxSign)                 // 微信扫一扫

		st := g.Group("steward")
		st.Use(middlewares.JwtStewardAuthMiddleware)
		st.POST("web-app-login-bind", webapp.HandleStewardWebAppLoginBind) // 小程序登录绑定 公众号openid

		st.POST("get-list", webapp.HandleStewardGetList)                  // 服务列表
		st.POST("get-details", webapp.HandleStewardGetDetails)            // 服务详情
		st.POST("get-staff-details", webapp.HandleStewardStaffGetDetails) // 获取员工详情
		st.POST("set-handle", webapp.HandleStewardSetData)                // 服务操作人/状态设置
		st.POST("comment-details", webapp.HandleCommentDetails)           // 查询评论详情

		st.POST("get-room-order-details", webapp.HandleGetRoomOrderDetails) // 续住订单详情
		st.POST("set-room-order-status", webapp.HandleSetRoomOrderStatus)   // 续住订单 服务操作人/状态设置

		st.POST("get-goods-order-details", webapp.HandleGetGoodsOrderDetails)    // 商品订单详情
		st.POST("set-goods-order-status", webapp.HandleStewardSetGoodsOrderData) // 商品订单 服务操作人/状态设置

		r := g.Group("register")
		r.POST("getSmsCode", webapp.GetSmsCode)

		r.POST("registerUser", webapp.RegisterUserInfo)

		f := g.Group("fdd")
		//获取实名认证异步回调
		f.POST("getVerifyNotify", zmwxapplet.GetVerifyNotify)

		//获取签署异步回调
		f.POST("getExtSignNotify", zmwxapplet.GetExtSignNotify)

		//查询个人实名认证信息
		f.POST("findPersonCertInfo", zmwxapplet.FindPersonCertInfo)

		//自动签署
		f.POST("extSignAuto", zmwxapplet.ExtSignAuto)

		//模板上传
		f.POST("uploadTemplate", zmwxapplet.UploadTemplate)

		//证书申请
		f.POST("applyCert", zmwxapplet.ApplyCert)

		f.POST("test", webapp.Test)

		f.Use(middlewares.JwtWechatAuthMiddleware)
		//手动签署
		f.GET("extSign", zmwxapplet.ExtSign)

		//查看合同
		f.POST("viewContract", zmwxapplet.ViewContract)

		//校验实名并且请求法大大实名证书申请
		f.POST("verifyAndApplyCert", webapp.HandleVerifyAndApplyCert)

		p := g.Group("place")
		p.Use(middlewares.JwtWechatAuthMiddleware)
		p.POST("get-goods-cash", webapp.HandleGetGoodsCash) // 查询商品订单可提现金额
		p.POST("get-room-cash", webapp.HandleGetRoomCash)   // 查询房间订单可提现金额

		p.GET("device-count", webapp.HandleDeviceCount)        // 获取设备总条数
		p.GET("order-count", webapp.HandleOrderCount)          // 获取订单总条数
		p.GET("device", webapp.HandleGetDeviceList)            // 获取设备列表
		p.GET("device-price", webapp.HandleGetPlacePrice)      // 获取商户绑定设备的价格
		p.GET("order", webapp.HandleGetPlaceOrders)            // 获取订单列表
		p.GET("cash", webapp.HandleGetPlaceCash)               // 获取提现列表
		p.GET("cash-money", webapp.HandleGetCashMoney)         // 获取可提现金额
		p.GET("income", webapp.HandlePlaceIncome)              // 获取收益明细
		p.GET("income-detail", webapp.HandlePlaceIncomeDetail) // 获取分红收益明细

		p.POST("insert-place-user", webapp.HandInsertPlaceUser)  //新增商户
		p.PUT("update-place-user", webapp.HandleUpdatePlaceUser) //修改商户

		p.POST("insert-place", placehandler.HandleInsertPlace) // 新增网点
		p.PUT("update-place", placehandler.HandleUpdatePlace)  // 更新网点

		p.POST("withdrawal", webapp.HandlePlaceWithDrawal)           // 提现
		p.POST("withdrawal-by-gm", webapp.HandlePlaceWithDrawalByGM) // 国曼提现
		p.GET("user-info", webapp.HandelGetWeixinInfo)               // 获取绑定的微信号信息
		p.PUT("unbind-wx", webapp.HandleUnBindWxInfo)                // 解绑微信
		p.PUT("update-pwd", webapp.HandleUpdateUserPassword)         // 修改密码
		p.GET("list", webapp.HandleGetPlaceList)                     // 获取商户列表
		p.GET("by-pid", webapp.HandleGetUserInfoByPid)               // 获取上级用户信息
		p.POST("save-profit", webapp.HandleSavePlaceProfit)          // 保存分成信息
		p.GET("user", webapp.HandleGetUserInfoByUserId)              //
		p.GET("user-parent", webapp.HandleGetParentUserInfoByUserId) //

		p.POST("get-user-joint-places", webapp.HandleGetAdminOrPlace) // 查询网点关联用户

		p.POST("pcl-binding", webapp.HandlePclBindIng)                    //单条线绑定
		p.POST("pcl-unbind", webapp.HandlePclUnbind)                      //单条线解绑
		p.POST("withdrawal-submit", webapp.HandleQRCodeWithdrawal)        //手动提现
		p.POST("qr-code-upload", webapp.HandleQRCodePathUpload)           //上传二维码
		p.POST("get-withdrawal-record", webapp.HandleGetWithdrawalRecord) // 查询是否存在提现记录

		p.GET("get-withdrawal-setting", webapp.HandleGetWithdrawalSettingInfo) //查询提现配置数据

		//新增网点用户接口
		p.POST("app-get-user", webapp.HandleGetUser) //查询所有代理商

		p.GET("app-check-phone", webapp.HandleGetUserByPhone)

		p.GET("app-no-pager", webapp.HandleGetRoleListNoPager) // 查询 所有角色

		//新增网点接口
		p.GET("place-name", webapp.GetPlaceUserListByName)              // 模糊查询商户
		p.GET("branch-no-pager", webapp.HandleGetBranchUserListNoPager) //查询分公司用户列表
		p.GET("maintainer", webapp.GetH5UserListMaintainer)             //查询员工
		p.GET("regions", webapp.HandleGetRegions)                       // 查询省、市、县
		p.GET("regions-parent", webapp.HandleGetRegionsByParent)        // 查询省、市、县

		//p.POST("getExtSignInfo", webapp.HandleGetExtSignInfo) //获取是否实名认证

		// 代理商提现金额
		a := g.Group("agent")
		a.Use(middlewares.JwtWechatAuthMiddleware)

		a.GET("cash-money", webapp.HandleGetAgentCashMoney)  // 获取代理商可提现金额
		a.POST("withdrawal", webapp.HandleAgentWithDrawal)   // 代理商提现
		a.GET("user-info", webapp.HandelGetAgentWeixinInfo)  // 获取代理商信息
		a.GET("device-count", webapp.HandleAgentDeviceCount) // 获取设备总条数
		a.GET("order-count", webapp.HandleAgentOrderCount)   // 获取订单总条数
		a.GET("trade-total", webapp.HandleAgentTradeTotal)   //
		a.GET("order", webapp.HandleGetAgentOrders)          // 获取订单列表
		a.GET("place-rank", webapp.HandleGetPlaceIncomeRank) // 获取代理商下的商户收益排行
		a.GET("income", webapp.HandleAgentIncome)            // 获取收益明细

		a.POST("order/complete", webapp.HandelCompleteOrder) // 完结订单
		a.POST("order/bak", webapp.HandelBakOrder)           // 恢复订单

		a.GET("scan-sign", webapp.HandelGetWxSign) // 微信扫一扫

		//代理商操作
		a.GET("agent", webapp.HandleGetAgentUserList)        // 查询代理商用户列表
		a.POST("agent", webapp.HandleInsertAgentUser)        // 新增代理商用户
		a.PUT("agent", webapp.HandleUpdateAgentUser)         // 修改代理商用户
		a.GET("all-agent", webapp.HandleGetAllAgentUserList) // 查询代理商用户列表

		s := g.Group("statistical")
		s.Use(middlewares.JwtWechatAuthMiddleware)

		s.GET("earnings", webapp.GetEarningsList)
		s.GET("matters", webapp.GetMattersList)

	}
}
